package com.hxkj.domain.po;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;

/**
 * @ClassName OptionColumnTree
 * @Description TODO
 * @Author Mr.zheng
 * @Date 2018/6/30 10:03
 * @Version 1.0
 */
public class OptionColumnTree implements Serializable{

    private static final long serialVersionUID = -1011940270462855839L;
    // 分类ID
    private Long columnId;
    // 分类名字
    private String columnName;
    // 分类状态
    private Long columnStatus;
    // 序号
    private Long sortNumber;
    // 创建时间
    private Long createTime;
    // 修改时间
    private Long updateTime;
    // 分类属性
    private Integer columnType;
    // 标识(分类等级)
    private Byte delTag;
    // 备注
    private String comment;
    // 上级分类ID
    private Long parentColumnId;
    //站点ID
    private Long siteId;
    //分类缩略图URl地址
    private String imgUrl;
    //详情模板ID
    private Long templetId;
    // 列表模板ID
    private Long tempId;
    //seo标题
    private String seoHeadline;
    //seo关键字
    private String seoKeyword;
    //seo描述
    private String seoDepict;
    //分页页数
    private Integer pageNum;
    //分页条数
    private Integer pageSize;
    // 列表模板名称
    private String templetName1;
    // 列表文件名称
    private String fileName1;
    // 列表文件路径
    private String path1;
    // 详情模板名称
    private String templetName2;
    // 详情文件名称
    private String fileName2;
    // 详情文件路径
    private String path2;
    //该分类下的文章
    private List<Article> articleList;
    //静态页地址路径
    private String manuscriptPath;

    private List<OptionColumnTree> children;
    //该分类下的文章推荐
    private List<Article> articlePush;

    //选中状态
    private int checked;

    //分类是否有映射内容的状态:0、没有映射内容；1、有映射内容'
    private int contentStatus;

    //内容表字段名
    private String contentName;

    //自定义字段映射list集合
    private List<ContentMapping> contentMappingList;

    public int getContentStatus() {
        return contentStatus;
    }

    public void setContentStatus(int contentStatus) {
        this.contentStatus = contentStatus;
    }

    public String getContentName() {
        return contentName;
    }

    public void setContentName(String contentName) {
        this.contentName = contentName;
    }

    public List<ContentMapping> getContentMappingList() {
        return contentMappingList;
    }

    public void setContentMappingList(List<ContentMapping> contentMappingList) {
        this.contentMappingList = contentMappingList;
    }

    public Long getColumnId() {
        return columnId;
    }

    public void setColumnId(Long columnId) {
        this.columnId = columnId;
    }

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public Long getColumnStatus() {
        return columnStatus;
    }

    public void setColumnStatus(Long columnStatus) {
        this.columnStatus = columnStatus;
    }

    public Long getSortNumber() {
        return sortNumber;
    }

    public void setSortNumber(Long sortNumber) {
        this.sortNumber = sortNumber;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getColumnType() {
        return columnType;
    }

    public void setColumnType(Integer columnType) {
        this.columnType = columnType;
    }

    public Byte getDelTag() {
        return delTag;
    }

    public void setDelTag(Byte delTag) {
        this.delTag = delTag;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public Long getParentColumnId() {
        return parentColumnId;
    }

    public void setParentColumnId(Long parentColumnId) {
        this.parentColumnId = parentColumnId;
    }

    public Long getSiteId() {
        return siteId;
    }

    public void setSiteId(Long siteId) {
        this.siteId = siteId;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public Long getTempletId() {
        return templetId;
    }

    public void setTempletId(Long templetId) {
        this.templetId = templetId;
    }

    public Long getTempId() {
        return tempId;
    }

    public void setTempId(Long tempId) {
        this.tempId = tempId;
    }

    public String getSeoHeadline() {
        return seoHeadline;
    }

    public void setSeoHeadline(String seoHeadline) {
        this.seoHeadline = seoHeadline;
    }

    public String getSeoKeyword() {
        return seoKeyword;
    }

    public void setSeoKeyword(String seoKeyword) {
        this.seoKeyword = seoKeyword;
    }

    public String getSeoDepict() {
        return seoDepict;
    }

    public void setSeoDepict(String seoDepict) {
        this.seoDepict = seoDepict;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getTempletName1() {
        return templetName1;
    }

    public void setTempletName1(String templetName1) {
        this.templetName1 = templetName1;
    }

    public String getFileName1() {
        return fileName1;
    }

    public void setFileName1(String fileName1) {
        this.fileName1 = fileName1;
    }

    public String getPath1() {
        return path1;
    }

    public void setPath1(String path1) {
        this.path1 = path1;
    }

    public String getTempletName2() {
        return templetName2;
    }

    public void setTempletName2(String templetName2) {
        this.templetName2 = templetName2;
    }

    public String getFileName2() {
        return fileName2;
    }

    public void setFileName2(String fileName2) {
        this.fileName2 = fileName2;
    }

    public String getPath2() {
        return path2;
    }

    public void setPath2(String path2) {
        this.path2 = path2;
    }

    public List<Article> getArticleList() {
        return articleList;
    }

    public void setArticleList(List<Article> articleList) {
        this.articleList = articleList;
    }

    public List<OptionColumnTree> getChildren() {
        return children;
    }

    public void setChildren(List<OptionColumnTree> children) {
        this.children = children;
    }

    public String getManuscriptPath() {
        return manuscriptPath;
    }

    public void setManuscriptPath(String manuscriptPath) {
        this.manuscriptPath = manuscriptPath;
    }

    public List<Article> getArticlePush() {
        return articlePush;
    }

    public void setArticlePush(List<Article> articlePush) {
        this.articlePush = articlePush;
    }

    public int getChecked() {
        return checked;
    }

    public void setChecked(int checked) {
        this.checked = checked;
    }

    @Override
    public String toString() {
        return "OptionColumnTree{" +
                "columnId=" + columnId +
                ", columnName='" + columnName + '\'' +
                ", columnStatus=" + columnStatus +
                ", sortNumber=" + sortNumber +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", columnType='" + columnType + '\'' +
                ", delTag=" + delTag +
                ", comment='" + comment + '\'' +
                ", parentColumnId=" + parentColumnId +
                ", siteId=" + siteId +
                ", imgUrl='" + imgUrl + '\'' +
                ", templetId=" + templetId +
                ", tempId=" + tempId +
                ", seoHeadline='" + seoHeadline + '\'' +
                ", seoKeyword='" + seoKeyword + '\'' +
                ", seoDepict='" + seoDepict + '\'' +
                ", pageNum=" + pageNum +
                ", pageSize=" + pageSize +
                ", templetName1='" + templetName1 + '\'' +
                ", fileName1='" + fileName1 + '\'' +
                ", path1='" + path1 + '\'' +
                ", templetName2='" + templetName2 + '\'' +
                ", fileName2='" + fileName2 + '\'' +
                ", path2='" + path2 + '\'' +
                ", articleList=" + articleList +
                ", manuscriptPath='" + manuscriptPath + '\'' +
                ", children=" + children +
                ", articlePush=" + articlePush +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof OptionColumnTree)) return false;
        OptionColumnTree that = (OptionColumnTree) o;
        return Objects.equals(getColumnId(), that.getColumnId()) &&
                Objects.equals(getColumnName(), that.getColumnName()) &&
                Objects.equals(getColumnStatus(), that.getColumnStatus()) &&
                Objects.equals(getSortNumber(), that.getSortNumber()) &&
                Objects.equals(getCreateTime(), that.getCreateTime()) &&
                Objects.equals(getUpdateTime(), that.getUpdateTime()) &&
                Objects.equals(getColumnType(), that.getColumnType()) &&
                Objects.equals(getDelTag(), that.getDelTag()) &&
                Objects.equals(getComment(), that.getComment()) &&
                Objects.equals(getParentColumnId(), that.getParentColumnId()) &&
                Objects.equals(getSiteId(), that.getSiteId()) &&
                Objects.equals(getImgUrl(), that.getImgUrl()) &&
                Objects.equals(getTempletId(), that.getTempletId()) &&
                Objects.equals(getTempId(), that.getTempId()) &&
                Objects.equals(getSeoHeadline(), that.getSeoHeadline()) &&
                Objects.equals(getSeoKeyword(), that.getSeoKeyword()) &&
                Objects.equals(getSeoDepict(), that.getSeoDepict()) &&
                Objects.equals(getPageNum(), that.getPageNum()) &&
                Objects.equals(getPageSize(), that.getPageSize()) &&
                Objects.equals(getTempletName1(), that.getTempletName1()) &&
                Objects.equals(getFileName1(), that.getFileName1()) &&
                Objects.equals(getPath1(), that.getPath1()) &&
                Objects.equals(getTempletName2(), that.getTempletName2()) &&
                Objects.equals(getFileName2(), that.getFileName2()) &&
                Objects.equals(getPath2(), that.getPath2()) &&
                Objects.equals(getArticleList(), that.getArticleList()) &&
                Objects.equals(getManuscriptPath(), that.getManuscriptPath()) &&
                Objects.equals(getChildren(), that.getChildren()) &&
                Objects.equals(getArticlePush(), that.getArticlePush());
    }

    @Override
    public int hashCode() {

        return Objects.hash(getColumnId(), getColumnName(), getColumnStatus(), getSortNumber(), getCreateTime(), getUpdateTime(), getColumnType(), getDelTag(), getComment(), getParentColumnId(), getSiteId(), getImgUrl(), getTempletId(), getTempId(), getSeoHeadline(), getSeoKeyword(), getSeoDepict(), getPageNum(), getPageSize(), getTempletName1(), getFileName1(), getPath1(), getTempletName2(), getFileName2(), getPath2(), getArticleList(), getManuscriptPath(), getChildren(), getArticlePush());
    }
}
